package com.haredot.service;

import com.github.pagehelper.Page;
import com.haredot.entity.Course;
import com.haredot.entity.Mark;
import com.haredot.entity.Teacher;
import com.haredot.vo.LayuiPage;
import com.haredot.vo.R;

import java.util.List;
import java.util.Map;

public interface TeacherService {
    R<Course> saveCourse(Course course);

    /**
     * 分页查询课程
     *
     * @param layuiPage
     * @return
     */
    R<Page<Course>> queryCourseList(LayuiPage layuiPage);

    R<?> batchCourseRemove(List<Integer> ids);

    R<Course> queryCourseById(Integer id);

    R<Course> modifyCourse(Course course);

    R<?> removeCourse(Integer id);

    /**
     * 查询所有课程
     *
     * @return
     */
    List<Course> queryCourseList();

    R<Teacher> save(Teacher teacher);

    R<Page<Teacher>> queryTeacherList(LayuiPage layuiPage);

    R<?> batchRemove(List<Long> ids);

    R<?> remove(Long id);

    R<Teacher> queryTeacherById(Long sno);

    R<Teacher> modify(Teacher teacher);

    R<Course> checkSnoAndQueryCourse(Long sno);

    R<?> saveMark(Mark mark);

    R<Page<Map<String, Object>>> queryMarksList(LayuiPage layuiPage, Map<String, Object> params);

    R<?> removeMark(Integer id);

    R<?> batchMarkRemove(List<Integer> ids);

    R<Map<String, Object>> queryMarkById(Integer id);

    R<?> modifyMark(Mark mark);
}
